<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
<script>
  // TODO: 内存管理
  // js 会在创建变量(对象, 字符串等)时, 分配内存, 并且在不再使用它们时, 自动释放内存, 这个释放过程称为垃圾回收
  // 垃圾回收的算法
  //  1. 引用计数
      // 看一个对象是否还有指向它的引用, 如果没有, 则被回收
      // 缺点: 没法解决循环引用的问题
  //  2. 标记清除 
      // 垃圾回收器会在运行时给内存中所有的变量加上标记
      // 从根部(js全局对象)出发, 扫描内存中的对象, 将那些能触及到的对象的标记清除
      // 最后回收那些存在标记的变量
      
  // https://juejin.cn/post/6844903869525262349
</script>
</body>
</html>